A Loosely Synchronized Execution Model for a Simple Data-Parallel Language (Extended Abstract)
نویسندگان
چکیده
Data-Parallel languages ooer a programming model structured and easy to understand. The challenge consists in taking advantage of the power of actual architectures by a compilation process allowing to reduce the number and the complexity of synchronizations. In this paper, we clearly separate the synchronous programming model from the asynchronous execution model by the way of a translation from a synchronous Data-Parallel programming language to an asynchronous target language. The synchronous Data-Parallel programming language allows to temporarily mask local computations. The asynchronous target language handles explicit and partial synchronizations through the use of structural clocks. We provide a theoretical framework to prove the correctness of optimisations. R esum e Les langages data-parall eles oorent un mod ele de programmation simple et structur e. La diicult e majeure pour adapter ce mod ele a la puissance des architectures actuelles r eside dans l' elaboration d'un processus de compilation r eduisant le nombre et la complexit e des synchronisations. Dans ce rapport, nous s eparons clairement le mod ele synchrone de programmation du mod ele asynchrone d'ex ecution par l'interm ediaire d'une traduction d'un langage data-parall ele synchrone vers un langage cible asynchrone. Le langage data-parall ele synchrone autorise le masquage temporaire des calculs locaux. Le langage cible asynchrone r ealise des synchronisations explicites et partielles par l'interm ediaire d'horloges structurelles. Nous proposons un cadre th eorique pour prouver la correction des optimisations. At present time, most of distributed architectures are MIMD computers or networks of workstations. The control-parallel programming model is close to their execution model. However, in this model, the programmer has to control several interacting control ows. A control-parallel program is therefore diicult to understand. Moreover this model is a great limitation for scalability and massively parallel architectures. A crucial step has been performed during eighties with the data-parallel programming model, following upon success of SIMD architectures. On a SIMD architecture, the control is centralized and processors execute synchronous actions on their own data. The data-parallel programming model directly corresponds to this execution model. A data-parallel program is a single sequential composition of actions on parallel data. The data-parallel semantics imposes actions to be synchronous on all processors. It involves a single program, hence the control is centralized and very close to a sequential one. Data-parallelism inherit its qualities from classic sequential programming, it is a structured and easy to understand model. A crucial point is to eeciently run …
منابع مشابه
Investigation on Reliability Estimation of Loosely Coupled Software as a Service Execution Using Clustered and Non-Clustered Web Server
Evaluating the reliability of loosely coupled Software as a Service through the paradigm of a cluster-based and non-cluster-based web server is considered to be an important attribute for the service delivery and execution. We proposed a novel method for measuring the reliability of Software as a Service execution through load testing. The fault count of the model against the stresses of users ...
متن کاملStructural Clocks for a Loosely Synchronized Data-Parallel Language
Nowadays, most of distributed architectures are MIMD (Multiple Instruction streams, Multiple Data streams) parallel computers or networks of workstations. They are easily scalable, concerning the number of processing elements, the amount of memory or the bandwidth of the underlying communication network. The challenge consists in taking advantage of the power of these architectures. It has been...
متن کاملImplicitly synchronized abstract data types: data structures for modular parallel programming
Abstract data types are used to control the complexity of developing serial programs. They promote modular programming by encapsulating state and operations on that state. In parallel environments abstract data types must also encapsulate the synchronization required to correctly sequence the invocation of specific operations. An abstract data type is implicitly synchronized if it completely en...
متن کاملTimeout Order Abstraction for Time-Parametric Verification of Loosely Synchronized Real-Time Distributed Systems
We present timeout order abstraction (TO-abstraction), a technique to systematically abstract a given loosely synchronized real-time distributed system (LSRTDS) into an untimed model. We define the subclass of LSRTDS’s that we can apply TO-abstraction using a syntax template that represents a restriction to Tempo, the primary modeling language of TIOA [7]. The untimed model obtained from the ab...
متن کاملUppsala Theses in Computing Science 25 Data-parallel Implementation of Prolog Data-parallel Implementation of Prolog
Parallel computers are rarely used to make individual programs execute faster, they are mostly used to increase throughput by running separate programs in parallel. The reason is that parallel computers are hard to program, and automatic parallelisation have proven diicult. The commercially most successful technique is loop parallelisation in Fortran. Its success builds on an elegant model for ...
متن کامل